﻿using System;
using System.Collections;

namespace Program22
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] nums = new int[10];
            int[] nums1 = new int[6];
            ArrayList arrayList = new ArrayList();
            Random md = new Random();          
            Console.WriteLine("初始化数组A");
            while (arrayList.Count < 10)
            {
                int tempNum = md.Next(1, 100);
                    arrayList.Add(tempNum);
            }
            for (var i = 0; i < nums.Length; i++)
            {
                nums[i] = (int)arrayList[i];
                Console.Write(nums[i] + " ");
            }

            Console.WriteLine();
            Console.WriteLine("初始化数组B");
            arrayList = new ArrayList();
            while (arrayList.Count < 6)
            {
                int tempNum = md.Next(1, 100);
                    arrayList.Add(tempNum);
            }
            for (var i = 0; i < nums1.Length; i++)
            {
                nums1[i] = (int)arrayList[i];
                Console.Write(nums1[i] + " ");
            }

            //合并，求并集
            int[] d = new int[16];//并集
            int index = 0;//插入d的位置
            var flag = true;//是否有重复元素的标识，如果flag=true则表示无重复可以添加到d
            //先遍历nums，把不重复的元素添加到d
            for(var n=0;n<nums.Length;n++)
            {
                //检查d在index之前是否有重复元素
                for(var m=0;m<index;m++)
                {
                    if(d[m]==nums[n])
                    {
                        flag = false;
                    }
                }
                //如果没有重复，添加此nums元素到d的index位置
                if(flag)
                {
                    d[index++] = nums[n];
                }
                //flag重置
                flag = true;
            }
            //flag重置
            flag = true;
            //先遍历nums1，把不重复的元素添加到d
            for (var n = 0; n < nums1.Length; n++)
            {
                //检查d在index之前是否有重复元素
                for (var m = 0; m < index; m++)
                {
                    if (d[m] == nums1[n])
                    {
                        flag = false;
                    }
                }
                //如果没有重复，添加此nums1元素到d的index位置
                if (flag)
                {
                    d[index++] = nums1[n];
                }
                //flag重置
                flag = true;
            }
            Console.WriteLine();
            Console.WriteLine("Nums和Nums1的并集：");
            for (var i = 0; i < 16; i++)
            {
                if (d[i] != 0)
                {
                    Console.Write(d[i] + " ");
                }
            }
        }
    }
}
